console.log('2-1 let 块级作用域')
for (var i = 0; i < 3; i++) {
  // 异步的 输出循环结束后的i
  setTimeout(function(){
    console.log(i)
  })
}

// 闭包实现输出 0 1 2
for (var i = 0; i < 3; i++) {
  (function(j){ // 形参
    setTimeout(function(){
      console.log(j)
    })
  })(i) // 实参
}

// let 输出 0 1 2
for (let i = 0; i < 3; i++) {
  // 异步的 输出循环结束后的i
  setTimeout(function(){
    console.log(i)
  })
}